package org.jeecg.modules.app.entity;

import java.io.Serializable;
import java.util.ArrayList;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.aspect.annotation.Dict;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @author 李圳川
 * @version 1.0
 * @date 2022/6/19 20:28
 * @content
 */
@ApiModel(value="foodOrder对象", description="订单")
@Data
@TableName("foodorder")
public class Order implements Serializable {
    private static final long serialVersionUID = 1L;

    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private java.lang.String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
    /**更新日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private java.util.Date updateTime;
    /**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private java.lang.String sysOrgCode;
    /**流水号*/
    @Excel(name = "流水号", width = 15)
    @ApiModelProperty(value = "流水号")
    private java.lang.String serialNum;
    /**订单状态*/
    @Excel(name = "订单状态", width = 15, dicCode = "order_status")
    @Dict(dicCode = "order_status")
    @ApiModelProperty(value = "订单状态")
    private java.lang.String status;
    /**下单时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "下单时间")
    private java.util.Date createTime;
    /**商品数量*/
    @Excel(name = "商品数量", width = 15)
    @ApiModelProperty(value = "商品数量")
    private java.lang.Integer num;
    /**总价*/
    @Excel(name = "总价", width = 15)
    @ApiModelProperty(value = "总价")
    private java.lang.Double totalMoney;
    /**配送姓名*/
    @Excel(name = "收货人姓名", width = 15)
    @ApiModelProperty(value = "收货姓名")
    private java.lang.String name;
    /**电话*/
    @Excel(name = "电话", width = 15)
    @ApiModelProperty(value = "电话")
    private java.lang.String tel;
    /**配送地址*/
    @Excel(name = "配送地址", width = 15)
    @ApiModelProperty(value = "配送地址")
    private java.lang.String address;
    /**下单用户名*/
    @Excel(name = "下单用户名", width = 15)
    @ApiModelProperty(value = "下单用户名")
    private java.lang.String username;
    /**店铺id*/
    @Excel(name = "店铺id", width = 15)
    @ApiModelProperty(value = "店铺id")
    private java.lang.String shopId;
    /**顾客id*/
    @Excel(name = "顾客id", width = 15)
    @ApiModelProperty(value = "顾客id")
    private java.lang.String customerId;
    /**剩余时间*/
    @Excel(name = "剩余时间", width = 15)
    @ApiModelProperty(value = "剩余时间")
    private java.lang.Integer remainingTime;
    /**支付方式*/
    @Excel(name = "支付方式", width = 15)
    @ApiModelProperty(value = "支付方式")
    private java.lang.String payType;

    // 商家图标
    @TableField(exist = false)
    private String avatar;

    // 商家名字
    @TableField(exist = false)
    private String shopName;

    // 商家创建人
    @TableField(exist = false)
    private String shopCreateBy;


    @TableField(exist = false)
    private  ArrayList<OrderFood> foodList;

}